package com.example.demoapp.bean.util;

import android.graphics.Color;
import android.graphics.Typeface;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringUtils {
    // TEXT样式修改
    public static SpannableString changeTextStyle(String string,int start,int end,int color,int typeface){

    // 创建一个 SpannableString 对象，将文本设置为你想要显示的内容
        SpannableString spannableString = new SpannableString(string);
    // 创建一个 ForegroundColorSpan 对象，并设置所需的颜色
        ForegroundColorSpan colorSpan = new ForegroundColorSpan(color);
    // 设置要变色的文本范围，这里示例将 "一段" 变成红色
        spannableString.setSpan(colorSpan, start, end, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
    // 创建一个 StyleSpan 对象，并设置字体为加粗
        StyleSpan styleSpan = new StyleSpan(typeface);
    // 设置要加粗的文本范围，这里示例将 "这是" 加粗
        spannableString.setSpan(styleSpan, start, end, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
        // 将 SpannableString 对象设置为复选框的文本
        return spannableString;
    }

    // 邮箱判断
    public static boolean isEmail(String email){
        if (null==email || "".equals(email)) return false;
        //Pattern p = Pattern.compile("\\w+@(\\w+.)+[a-z]{2,3}"); //简单匹配
        Pattern p =  Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");//复杂匹配
        Matcher m = p.matcher(email);
        return m.matches();
    }
    // 手机号判断
    public static boolean isChinaPhoneLegal(String str) {
        String regExp = "^((13[0-9])|(15[^4])|(18[0,2,3,5-9])|(17[0-8])|(147))\\d{8}$";
        Pattern p = Pattern.compile(regExp);
        Matcher m = p.matcher(str);
        return m.matches();
    }
}
